#!/bin/bash

# xfio 启动脚本

case "$1" in
    start)
        echo "启动 xfio 控制中心..."
        BIN="/home/xfio/cmd/xfio-controller/xfio-controller"
        if [ -x "$BIN" ]; then
            nohup "$BIN" -config /home/xfio/config.json > /home/xfio/xfio-controller.log 2>&1 &
            echo "使用已构建的二进制启动: $BIN"
        else
            echo "二进制未找到，使用 go run 启动（较慢）"
            cd /home/xfio && nohup go run cmd/xfio-controller/main.go cmd/xfio-controller/web.go cmd/xfio-controller/helpers.go > xfio.log 2>&1 &
        fi
        echo "xfio 控制中心已启动，日志文件: /home/xfio/xfio-controller.log 或 /home/xfio/xfio.log"
        ;;
    stop)
        echo "停止 xfio 控制中心..."
        pkill -f "go run .*main.go"
        echo "xfio 控制中心已停止"
        ;;
    restart)
        echo "重启 xfio 控制中心..."
        pkill -f "go run .*main.go"
        sleep 2
        cd /home/xfio/xfio && nohup go run cmd/xfio-controller/main.go cmd/xfio-controller/web.go cmd/xfio-controller/helpers.go > xfio.log 2>&1 &
        echo "xfio 控制中心已重启，日志文件: /home/xfio/xfio/xfio.log"
        ;;
    status)
        if pgrep -f "go run .*main.go" > /dev/null; then
            echo "xfio 控制中心正在运行"
        else
            echo "xfio 控制中心未运行"
        fi
        ;;
    *)
        echo "用法: $0 {start|stop|restart|status}"
        exit 1
        ;;
esac